package com.yuzhi.master.drainMsgNotice.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuzhi.common.annotation.DictFormat;
import com.yuzhi.common.annotation.LocalDateTimeFormat;
import com.yuzhi.master.sewage.rmstSz.entity.request.LocalDateTimeSerializer;
import lombok.Data;

import java.time.LocalDateTime;

import java.io.Serializable;

/**
 * 消息通知视图对象 drain_msg_notice
 *
 * @author coding123
 * @date 2025-08-20
 */
@Data
@ExcelIgnoreUnannotated
public class DrainMsgNoticeVo implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 消息通知人员ID
     */
    private String noticeUser;

    private String noticeUserName;

    /**
     * 用户手机号码
     */
    private String noticePhone;

    /**
     * 小程序唯一标识
     */
    private String openId;

    /**
     * 通知渠道（1-短信  2-小程序）
     */
    private String noticeChannel;

    /**
     * 读取状态(0-未读  1-已读)
     */
    private String noticeStatus;

    /**
     * 外键类型(1、巡检 2、事件 3、催办 4、告警、5、设备离线)
     */
    @DictFormat(defaultValue = "msg_notice_type")
    private String fkType;

    /**
     * 外键ID
     */
    private String fkId;

    /**
     * 消息通知内容
     */
    private String noticeVal;

    /**
     * 消息通知时间
     */
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime noticeTime;




}
